package com.ruoyi.wms.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import com.ruoyi.wms.domain.entity.partolStore.Equipment;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 设备信息档案视图对象 equipment
 *
 * @author 邓滔滔
 * @date 2024-11-24
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Equipment.class)
public class EquipmentVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *id
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 设备名称
     */
    @ExcelProperty(value = "设备名称")
    private String equipmentName;

    /**
     * 所属门店
     */
    @ExcelProperty(value = "所属门店")
    private Long storeId;

    /**
     * 设备类型
     */
    @ExcelProperty(value = "设备类型")
    private String equipmentType;

    /**
     * 型号
     */
    @ExcelProperty(value = "型号")
    private String model;

    /**
     * 序列号
     */
    @ExcelProperty(value = "序列号")
    private String serialNumber;

    /**
     * 购买时间
     */
    @ExcelProperty(value = "购买时间")
    private Date purchaseDate;

    /**
     * 保修期到期日期
     */
    @ExcelProperty(value = "保修期到期日期")
    private Date warrantyPeriod;

    /**
     * 设备状态
     */
    @ExcelProperty(value = "设备状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "equipment_status")
    private Integer status;

    /**
     * 上次保养日期
     */
    @ExcelProperty(value = "上次保养日期")
    private Date lastMaintenanceDate;

    /**
     * 下次巡检日期
     */
    @ExcelProperty(value = "下次巡检日期")
    private Date nextInspectionDate;

    /**
     * 责任人ID
     */
    @ExcelProperty(value = "责任人ID")
    private Long responsiblePersonId;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String notes;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;


}
